package com.six.order.service;

import com.six.core.entity.Goodscart;
import com.baomidou.mybatisplus.extension.service.IService;
import com.six.core.entity.Order;
import com.six.core.vo.Result;
import com.six.order.vo.AddGoodsCartVo;

import java.util.List;

/**
* @author 汪鹏
* @description 针对表【tb_goodscart】的数据库操作Service
* @createDate 2023-03-03 15:02:29
*/
public interface GoodsCartService extends IService<Goodscart> {

    /** 获取用户购物中物品的条数，根据userid进行查询 */
    Result getGoodsCartNum(Integer userid);

    /** 通过userid获取当前用户的购物车列表 */
    Result getListByUserid(Integer userid);

    /** 根据id删除购物车的单个商品 */
    Result deleteOneById(Integer id);

    /** 用户批量删除购物车的商品 */
    Result deleteByIds(List<Integer> ids);

    /** 点击加减按钮的时候修改购物车中的数量 */
    Result updateNum(Integer id,Integer goodsNum,Double totalPrice);

    /** 向购物车中添加商品，首先根据userid，goodsid进行数据库查询，
     *  判断这个物品是否在数据库中，若是在就增加数量，不在就添加进购物车。*/
    Result addGoodsCart(AddGoodsCartVo addGoodsCartVo);

    Integer deleteInfo (List<Order> orders);
}
